package com.dowsure.apisaas.model;

import com.dowsure.apisaas.annotation.RequestParamValidated;
import com.dowsure.apisaas.enums.BorrowerTypeEnums;
import com.dowsure.apisaas.enums.CardTypeEnums;
import lombok.Data;

/**
 * @description: 校验卖家支付公司信息响应参数
 * @author: Dowsure
 * @create: 2022-02-15 18:13
 **/
@Data
public class SellerPspAccountRequestParams {

    /**
     * Dowsure 卖家申请单编号
     */
    @RequestParamValidated(required = true, msg = "Dowsure 卖家申请单编号", maxLen = 32)
    private String applicationCode;

    /**
     * 借款人类型
     * IDCARD（身份证）、PASSPORT（护照）
     */
    @RequestParamValidated(required = true, msg = "借款人类型")
    private BorrowerTypeEnums borrowerType;

    /**
     * 借款人姓名（实控人）
     */
    @RequestParamValidated(required = true, msg = "借款人姓名（实控人）", maxLen = 32)
    private String borrowerName;

    /**
     * 借款人手机号（实控人）
     */
    @RequestParamValidated(msg = "借款人手机号（实控人）", maxLen = 15)
    private String borrowerPhoneNumber;

    /**
     * 企业法人姓名
     */
    @RequestParamValidated(msg = "企业法人姓名", maxLen = 15)
    private String legalPersonName;

    /**
     * 借款人证件类型
     */
    @RequestParamValidated(required = true, msg = "借款人证件类型")
    private CardTypeEnums cardType;

    /**
     * 借款人证件号码
     * 若用户未接入支付公司，需要提供该信 息，该信息用于匹配卖家在支付公司的账户信息。MD5加密。
     */
    @RequestParamValidated(required = true, msg = "借款人证件号码", maxLen = 32)
    private String cardNumber;

    /**
     *借款人企业营业执照号
     * 若用户未接入支付公司并且卖家是企业用户，需要提供该信息，该信息用于匹配卖家在支付公的账户信息。MD5加密。
     */
    @RequestParamValidated(msg = "借款人企业营业执照号", maxLen = 32)
    private String bizLicenseNumber;

}
